<HTML>
 <HEAD>
  <TITLE>Ext.data.reader.Json示例</TITLE>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <link rel="stylesheet" type="text/css" href="../../ext-4.0/resources/css/ext-all.css" />
  <script type="text/javascript" src="../../ext-4.0/bootstrap.js"></script>
  <script type="text/javascript" src="../../ext-4.0/locale/ext-lang-zh_CN.js"></script>
  <script type="text/javascript">
	Ext.onReady(function(){
		//JSON格式的用户及订单信息
		var userData = {
			"total" : 2000,
			"users": [{
				"id": 123,
				"name": "张三",
				"orders": [{
					"id": 50,
					"total" : 100
				}]
			}]
		}
		//定义用户User模型
		Ext.regModel("User", {
		    fields: [ 'id', 'name' ],
		    hasMany: 'Order'//定义User与Order之间的一对多关系
		});
		//定义订单Order模型
		Ext.regModel("Order", {
		    fields: [ 'id', 'total' ],
		    belongsTo: 'User'//定义Order与User之间的多对一关系
		});
		
		//创建memory代理
		var memoryProxy = new Ext.data.proxy.Memory({
			model : 'User',
			reader: {
	            type: 'json',//Ext.data.reader.Json读取器
	            root: 'users'
	        },
			data : userData
		}); 
		//读取数据
		memoryProxy.read(new Ext.data.Operation(), callBack)
		//数据读取之后的回调函数
		function callBack(result){
			//获取总记录数
			var count = result.resultSet.total;
			//获取第一个用户信息
			var user = result.resultSet.records[0];
			//获取该用户的第一个账单信息
			var order = user.orders().getAt(0);
			alert('总记录数：'+count+
				  '\n姓名：'+user.get('name')+
				  '\n账单金额：'+order.get('total'));
		}
	});
  </script>
 </HEAD>
 <BODY STYLE="margin: 10px"></BODY>
</HTML>
